package atguigu.jihekuangjia;


import java.util.*;
public class SetTest {

	/**
	 * Set 接口存储一组唯一，无序的对象。
	 * @param args
	 */
	public static void main(String[] args) {
//		testHashSet();

//		testLinkedHashSet();

		testTreeSet();


	}


	// 不保证添加顺序，不保证自然顺序，不允许重复
	private static void testHashSet() {
		// 不保证集合中元素的顺序，允许包含值为null的元素，但最多只能一个
		Set<Integer> set = new HashSet<Integer>();

		set.add(1);
		set.add(34);
		set.add(42);
		set.add(61);
		set.add(24);
		set.add(53);
		set.add(null);

		for (Integer integer : set) {
			System.out.println(integer);
		}

		Set<String> set2 = new HashSet<>();
		set2.add("c");
		set2.add("b");
		set2.add("a");
		set2.add("d");

		for (String s : set2) {
			System.out.println(s);
		}
	}


	// 保证元素添加的顺序，不保证元素自然顺序，不可重复
	public static void testLinkedHashSet(){
		Set<Integer> set = new LinkedHashSet<>();

		set.add(1);
		set.add(34);
		set.add(42);
		set.add(61);
		set.add(24);
		set.add(53);
		set.add(null);

		for (Integer integer : set) {
			System.out.println(integer);
		}
	}

	//
	public static void testTreeSet(){
		Set<Integer> set = new TreeSet<>();
		set.add(1);
		set.add(34);
		set.add(42);
		set.add(61);
		set.add(24);
		set.add(53);
//		set.add(null);

		for (Integer integer : set) {
			System.out.println(integer);
		}
	}
}
